package com.mes.task.manager.iface;

import java.util.List;

import com.mes.common.manager.iface.IBasicManager;
import com.mes.task.domain.Demand;
import com.mes.task.domain.DemandTaskLink;
import com.mes.task.domain.PartTask;

public interface IDemandTaskLinkManager extends IBasicManager<DemandTaskLink> {

//	public List<DemandTaskLink> getAllEffectedLinks();
//
//	public List<DemandTaskLink> getEffectedLinksByDemandUid(String demandUid);
//
//	/*
//	 * 取得零件任务相关指令任务链接
//	 */
//	public List<DemandTaskLink> getEffectedLinksByTaskUid(String taskUid);
//
//	/*
//	 * 取得零件任务相关指令任务链接
//	 */
//	public List<DemandTaskLink> getRelativeDemandTaskLinks(PartTask partTask);
//
//	/**
//	 * 
//	 * 删除某一个指令的所有有效链接
//	 */
//	public void deleteLinksByDemandUid(String demandUid);
//
//	/**
//	 * 
//	 * 删除某一个零件任务的所有有效链接
//	 */
//	public void deleteLinksByTaskUid(String taskUid);
//
//	/**
//	 * 
//	 * 删除某一部门未锁定的指令任务链接
//	 */
//	public void deleteUnLockedLinks(String masterShopUid) throws Exception;
//
//	/**
//	 * 新增或者更新链接
//	 * 
//	 * @param demandTaskLink
//	 * @throws Exception
//	 */
//	public void saveOrUpdateLink(DemandTaskLink demandTaskLink) throws Exception;
//
//	/**
//	 * 按照任务与指令的关系更新零组件任务的计划信息
//	 * 
//	 * @param demandTaskLink
//	 * @throws Exception
//	 */
//	public void updatePlanInfo(PartTask partTask) throws Exception;

	/**
	 * 处理任务在制品数量变化 比如因为报废等质量问题引起的变化
	 * 
	 * @param partTask
	 * @throws Exception
	 */
	public void taskQtyChange(PartTask partTask) throws Exception;

//	/**
//	 * 处理指令数量变化
//	 * 
//	 * @param partTask
//	 * @throws Exception
//	 */
//	public void demandQtyChange(Demand demand) throws Exception;
//
//	/**
//	 * 删除指令未锁定链接
//	 * 
//	 * @param demandUid
//	 */
//	void deleteUnlockLinksByDemandUid(String demandUid);

}
